current version 1.0 - 10th January 2019
version | date | comment |
---|---|---|
1.0 | 10/Jan/2019 | Original code |
license: GNU GPL http://www.gnu.org/licenses/
Module to manage daily precipitation
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=short), | public | :: | dtPrecipitationDaily | = | 0 |
cumulation deltat |
|
type(grid_real), | public | :: | precipitationRateDaily |
[m/s] |
|||
type(ObservationalNetwork), | public | :: | raingagesDaily |
raingage stations network |
|||
real(kind=float), | private, | parameter | :: | MISSING_DEF_REAL | = | -9999.9 | |
real(kind=float), | private | :: | cellsizeInterpolation |
spatial resolution of interpolated grid |
|||
integer(kind=short), | private | :: | dtGrid |
dt of imported field |
|||
integer(kind=short), | private | :: | elevationDrift |
1 = use elevation to modify interpolated data |
|||
integer(kind=short), | private | :: | export |
activates grid exporting |
|||
type(CRS), | private | :: | exportGridMapping | ||||
integer(kind=short), | private | :: | export_dt |
time between two exportations |
|||
integer(kind=short), | private | :: | export_epsg |
coordinate reference system of exported grid |
|||
character(len=1000), | private | :: | export_file |
name of exported precipitation grid |
|||
character(len=1000), | private | :: | export_file_var |
name of exported precipitation variance grid |
|||
integer(kind=short), | private | :: | export_format |
1 = esri_ascii, 2 = esri_binary, 3 = netcdf |
|||
character(len=1000), | private | :: | export_path |
folder where to put exported grids |
|||
type(DateTime), | private | :: | export_start |
time and date to start exporting |
|||
type(DateTime), | private | :: | export_stop |
time and date to stop exporting |
|||
type(grid_real), | private | :: | exportedGrid | ||||
type(grid_real), | private | :: | exportedGridVar | ||||
character(len=300), | private | :: | fileGrid |
file containing grids |
|||
integer(kind=short), | private | :: | fileunit |
unit of file containing precipitation data |
|||
type(grid_real), | private | :: | grid_devst |
standard deviation of kriging interpolation |
|||
integer(kind=short), | private | :: | i |
loop index |
|||
real(kind=float), | private | :: | idw_power |
power to be used with IDW |
|||
type(grid_real), | private | :: | interpolatedMap(3) |
1 = map for thiessen, 2 = map for idw, 3 = map for kriging |
|||
integer(kind=short), | private | :: | interpolationMethod |
method to spatial interpolate site data |
|||
integer(kind=short), | private | :: | interpolationMethod_assignment |
method to assign spatial interpolation ! 1 = one method for the entire domain, 2 = a map with interpolation method codes |
|||
type(grid_integer), | private | :: | interpolationMethod_map | ||||
integer(kind=short), | private | :: | interpolationMethod_vector(3) |
defines active interpolation methods |
|||
integer(kind=short), | private | :: | j |
loop index |
|||
integer(kind=short), | private | :: | krige_anisotropy |
considers anisotropy, default = 0 excludes anisotropy |
|||
integer(kind=short), | private | :: | krige_lags |
number of lags for semivariogram. if undefined or set to 0 default to 15 |
|||
real(kind=float), | private | :: | krige_maxlag |
maximum distance to be considered for semivariogram assessment. If undefined or set to 0, it is computed automatically |
|||
integer(kind=short), | private | :: | krige_var |
when set to 1 a grid of kriging variance is generated and exported if export option is active, default to 0 |
|||
integer(kind=short), | private | :: | krige_varmodel |
1 = spherical, 2 = exponential, 3 = gaussian, 0 = automatic fitting. default to 2 |
|||
real(kind=float), | private | :: | lapse |
lapse rate [m/s/m] |
|||
type(grid_real), | private | :: | lapse_map |
lapse rate map |
|||
integer(kind=short), | private | :: | lapse_rate_assignment |
1 = scalar, 2 = map that may change with time |
|||
logical, | private | :: | needConversion | ||||
integer(kind=short), | private | :: | neighbors |
number of closest data to use for interpolation |
|||
real(kind=float), | private | :: | offset_value |
offset to apply to precipitation map |
|||
real(kind=float), | private, | parameter | :: | refElevation | = | 1000. |
reference elevation for applying lapse rate |
real(kind=float), | private | :: | scale_factor |
scale factor to apply to precipitation map |
|||
type(ObservationalNetwork), | private | :: | stationsRefElev |
stations network at reference elevation |
|||
type(DateTime), | private | :: | timeNewExport |
time when new exporting must occur |
|||
type(DateTime), | private | :: | timeNewPrecipitation |
time when new precipitation data must be read |
|||
real(kind=float), | private | :: | valid_prcn |
when data from several time steps are read, this is the minimum percentage (0-1) of valid data that must be prresent to consider valid the aggregated value. |
Initialize precipitation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(IniList), | intent(in) | :: | ini | |||
type(grid_integer), | intent(in) | :: | mask |
defines interpolation extent |
||
integer(kind=short), | intent(in) | :: | dtMeteo |
deltat of meteo data reading |
||
type(DateTime), | intent(in) | :: | tstart |
initial time |
||
logical, | intent(in) | :: | dem_loaded |
true if dem has been loaded |
set properties and initialize variables for each interpolation method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=short), | intent(in) | :: | method | |||
type(IniList), | intent(in) | :: | ini | |||
type(grid_integer), | intent(in) | :: | mask |